package cn.itcast.web.util;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

import java.util.ResourceBundle;

public class JedisUtils {
    private static JedisPool jedisPool;
    static {

        //解析jedis.properties配置文件获取配置信息
        //ResourceBundle介绍： 专门用于解析properties配置文件的类
        //格式：ResourceBundle.getBundle("properties的文件名")，不用带文件扩展名
        ResourceBundle resourceBundle = ResourceBundle.getBundle("jedis");//会自动去类路径下查找jedis.properties文件解析
        int maxTotal = Integer.parseInt(resourceBundle.getString("maxTotal"));
        int maxWaitMillis = Integer.parseInt(resourceBundle.getString("maxWaitMillis"));
        String host = resourceBundle.getString("host");
        int port = Integer.parseInt(resourceBundle.getString("port"));

        //创建连接池配置对象
        JedisPoolConfig config = new JedisPoolConfig();

        //配置最大连接数
        config.setMaxTotal(maxTotal);

        //配置用户等待连接的最大超时时间(单位：毫秒数)
        config.setMaxWaitMillis(maxWaitMillis);

        //创建连接池对象
        jedisPool = new JedisPool(config,host,port);
    }

    //获取连接的方法
    public static Jedis getJedis(){
        return jedisPool.getResource();
    }
}
